home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / BlitzBasic / MUI / Developer / BB2 / Userlibs / MUIBBLib.asc
Text File  |  1998-06-24  |  38KB  |  1,578 lines

  1. ;MUIBBLib version 0.1
  2. ;***** WATCH OUT!!! BETA VERSION!!! *****
  3.  
  4. #muibblib=xx ;put a free lib number
  5.  
  6. !libheader {#muibblib,0,0,0,0}
  7.  
  8. !acommand  {#long}
  9. !repargs   {1,1,#string,#long}
  10. !libs
  11. !subs      {_MUI_NewObject,0,0}
  12. !name      {"MUI_NewObject","(Class$,Tag[,Tag...])"}
  13.  
  14. !acommand   {#long}
  15. !repargs    {1,1,#long,#long}
  16. !libs
  17. !subs       {_MUI_MakeObject,0,0}
  18. !name       {"MUI_MakeObject","(Type,Tag[,Tag...])"}
  19.  
  20. !afunction {#long}
  21. !args
  22. !libs
  23. !subs      {_MUI_TRUE,0,0}
  24. !name      {"MUI_TRUE",";Return the TRUE value for MUI"}
  25.  
  26. !afunction {#long}
  27. !args
  28. !libs
  29. !subs      {_MUIBase,0,0}
  30. !name      {"MUI_Base",";Return the Base of MUIMaster"}
  31.  
  32. !acommand {#long}
  33. !args     {#long}
  34. !libs
  35. !subs     {_HCenter,0,0}
  36. !name     {"HCenter","(obj) ;MUI HCenter"}
  37.  
  38. !acommand {#long}
  39. !args     {#long}
  40. !libs
  41. !subs     {_VCenter,0,0}
  42. !name     {"VCenter","(obj) ;MUI VCenter"}
  43.  
  44. !acommand {#long}
  45. !args     {#string,#long}
  46. !libs
  47. !subs     {_String,0,0}
  48. !name     {"MUIString","(contents$,maxlen) ;MUI String"}
  49.  
  50. !acommand {#long}
  51. !args     {#string,#long,#string}
  52. !libs
  53. !subs     {_KeyString,0,0}
  54. !name     {"KeyString","(contents$,maxlen,controlchar$) ;MUI KeyString"}
  55.  
  56. !acommand {#long}
  57. !args     {#long}
  58. !libs
  59. !subs     {_CheckMark,0,0}
  60. !name     {"CheckMark","(selected) ;MUI CheckMark"}
  61.  
  62. !acommand {#long}
  63. !args     {#long,#string}
  64. !libs
  65. !subs     {_KeyCheckMark,0,0}
  66. !name     {"KeyCheckMark","(selected,control$) ;MUI KeyCheckMark"}
  67.  
  68. !acommand {#long}
  69. !args     {#string}
  70. !libs
  71. !subs     {_SimpleButton,0,0}
  72. !name     {"SimpleButton","(label$) ;MUI SimpleButton"}
  73.  
  74. !acommand {#long}
  75. !args     {#string,#string}
  76. !libs
  77. !subs     {_KeyButton,0,0}
  78. !name     {"KeyButton","(name$,key$) ;MUI KeyButton"}
  79.  
  80. !acommand {#long}
  81. !args     {#long}
  82. !libs
  83. !subs     {_Cycle,0,0}
  84. !name     {"MUI_Cycle","(&*entries(0)) ;MUI Cycle"}
  85.  
  86. !acommand {#long}
  87. !args     {#long,#string}
  88. !libs
  89. !subs     {_KeyCycle,0,0}
  90. !name     {"KeyCycle","(&*entries(0),key$) ;MUI KeyCycle"}
  91.  
  92. !acommand {#long}
  93. !args     {#string,#long}
  94. !libs
  95. !subs     {_Radio,0,0}
  96. !name     {"Radio","(name$,&*array(0)) ;MUI Radio"}
  97.  
  98. !acommand {#long}
  99. !args     {#string,#long,#string}
  100. !libs
  101. !subs     {_KeyRadio,0,0}
  102. !name     {"KeyRadio","(name$,&*array(0),key$) ;MUI KeyRadio"}
  103.  
  104. !acommand {#long}
  105. !args     {#long,#long,#long}
  106. !libs
  107. !subs     {_Slider,0,0}
  108. !name     {"Slider","(min,max,level) ;MUI Slider"}
  109.  
  110. !acommand {#long}
  111. !args     {#long,#long,#long,#string}
  112. !libs
  113. !subs     {_KeySlider,0,0}
  114. !name     {"KeySlider","(min,max,level,key$) ;MUI KeySlider"}
  115.  
  116. !acommand {#long}
  117. !args     {#long}
  118. !libs
  119. !subs     {_PopButton,0,0}
  120. !name     {"PopButton","(img) ;MUI PopButton"}
  121.  
  122. ;***** Labels *****
  123.  
  124. !acommand {#long}
  125. !args     {#string}
  126. !libs
  127. !subs     {_Label,0,0}
  128. !name     {"Label","(label$) ;MUI Label"}
  129.  
  130. !acommand {#long}
  131. !args     {#string}
  132. !libs
  133. !subs     {_LabelI,0,0}
  134. !name     {"LabelI","(label$) ;MUI LabelI"}
  135.  
  136. !acommand {#long}
  137. !args     {#string}
  138. !libs
  139. !subs     {_LabelII,0,0}
  140. !name     {"LabelII","(label$) ;MUI LabelII"}
  141.  
  142. !acommand {#long}
  143. !args     {#string}
  144. !libs
  145. !subs     {_LLabel,0,0}
  146. !name     {"LLabel","(label$) ;MUI LLabel"}
  147.  
  148. !acommand {#long}
  149. !args     {#string}
  150. !libs
  151. !subs     {_LLabelI,0,0}
  152. !name     {"LLabelI","(label$) ;MUI LLabelI"}
  153.  
  154. !acommand {#long}
  155. !args     {#string}
  156. !libs
  157. !subs     {_LLabelII,0,0}
  158. !name     {"LLabelII","(label$) ;MUI LLabelII"}
  159.  
  160. !acommand {#long}
  161. !args     {#string}
  162. !libs
  163. !subs     {_CLabel,0,0}
  164. !name     {"CLabel","(label$) ;MUI CLabel"}
  165.  
  166. !acommand {#long}
  167. !args     {#string}
  168. !libs
  169. !subs     {_CLabelI,0,0}
  170. !name     {"CLabelI","(label$) ;MUI CLabelI"}
  171.  
  172. !acommand {#long}
  173. !args     {#string}
  174. !libs
  175. !subs     {_CLabelII,0,0}
  176. !name     {"CLabelII","(label$) ;MUI CLabelII"}
  177.  
  178. !acommand {#long}
  179. !args     {#string}
  180. !libs
  181. !subs     {_FreeLabel,0,0}
  182. !name     {"FreeLabel","(label$) ;MUI FreeLabel"}
  183.  
  184. !acommand {#long}
  185. !args     {#string}
  186. !libs
  187. !subs     {_FreeLabelI,0,0}
  188. !name     {"FreeLabelI","(label$) ;MUI FreeLabelI"}
  189.  
  190. !acommand {#long}
  191. !args     {#string}
  192. !libs
  193. !subs     {_FreeLabelII,0,0}
  194. !name     {"FreeLabelII","(label$) ;MUI FreeLabelII"}
  195.  
  196. !acommand {#long}
  197. !args     {#string}
  198. !libs
  199. !subs     {_FreeLLabel,0,0}
  200. !name     {"FreeLLabel","(label$) ;MUI FreeLLabel"}
  201.  
  202. !acommand {#long}
  203. !args     {#string}
  204. !libs
  205. !subs     {_FreeLLabelI,0,0}
  206. !name     {"FreeLLabelI","(label$) ;MUI FreeLLabelI"}
  207.  
  208. !acommand {#long}
  209. !args     {#string}
  210. !libs
  211. !subs     {_FreeLLabelII,0,0}
  212. !name     {"FreeLLabelII","(label$) ;MUI FreeLLabelII"}
  213.  
  214. !acommand {#long}
  215. !args     {#string}
  216. !libs
  217. !subs     {_FreeCLabel,0,0}
  218. !name     {"FreeCLabel","(label$) ;MUI FreeCLabel"}
  219.  
  220. !acommand {#long}
  221. !args     {#string}
  222. !libs
  223. !subs     {_FreeCLabelI,0,0}
  224. !name     {"FreeCLabelI","(label$) ;MUI FreeCLabelI"}
  225.  
  226. !acommand {#long}
  227. !args     {#string}
  228. !libs
  229. !subs     {_FreeCLabelII,0,0}
  230. !name     {"FreeCLabelII","(label$) ;MUI FreeCLabelII"}
  231.  
  232. !acommand {#long}
  233. !args     {#string,#string}
  234. !libs
  235. !subs     {_KeyLabel,0,0}
  236. !name     {"KeyLabel","(label$,key$) ;MUI KeyLabel"}
  237.  
  238. !acommand {#long}
  239. !args     {#string,#string}
  240. !libs
  241. !subs     {_KeyLabelI,0,0}
  242. !name     {"KeyLabelI","(label$,key$) ;MUI KeyLabelI"}
  243.  
  244. !acommand {#long}
  245. !args     {#string,#string}
  246. !libs
  247. !subs     {_KeyLabelII,0,0}
  248. !name     {"KeyLabelII","(label$,key$) ;MUI KeyLabelII"}
  249.  
  250. !acommand {#long}
  251. !args     {#string,#string}
  252. !libs
  253. !subs     {_KeyLLabel,0,0}
  254. !name     {"KeyLLabel","(label$,key$) ;MUI KeyLLabel"}
  255.  
  256. !acommand {#long}
  257. !args     {#string,#string}
  258. !libs
  259. !subs     {_KeyLLabelI,0,0}
  260. !name     {"KeyLLabelI","(label$,key$) ;MUI KeyLLabelI"}
  261.  
  262. !acommand {#long}
  263. !args     {#string,#string}
  264. !libs
  265. !subs     {_KeyLLabelII,0,0}
  266. !name     {"KeyLLabelII","(label$,key$) ;MUI KeyLLabelII"}
  267.  
  268. !acommand {#long}
  269. !args     {#string,#string}
  270. !libs
  271. !subs     {_KeyCLabel,0,0}
  272. !name     {"KeyCLabel","(label$,key$) ;MUI KeyCLabel"}
  273.  
  274. !acommand {#long}
  275. !args     {#string,#string}
  276. !libs
  277. !subs     {_KeyCLabelI,0,0}
  278. !name     {"KeyCLabelI","(label$,key$) ;MUI KeyCLabelI"}
  279.  
  280. !acommand {#long}
  281. !args     {#string,#string}
  282. !libs
  283. !subs     {_KeyCLabelII,0,0}
  284. !name     {"KeyCLabelII","(label$,key$) ;MUI KeyCLabelII"}
  285.  
  286. !acommand {#long}
  287. !args     {#string,#string}
  288. !libs
  289. !subs     {_FreeKeyLabel,0,0}
  290. !name     {"FreeKeyLabel","(label$,key$) ;MUI FreeKeyLabel"}
  291.  
  292. !acommand {#long}
  293. !args     {#string,#string}
  294. !libs
  295. !subs     {_FreeKeyLabelI,0,0}
  296. !name     {"FreeKeyLabelI","(label$,key$) ;MUI FreeKeyLabelI"}
  297.  
  298. !acommand {#long}
  299. !args     {#string,#string}
  300. !libs
  301. !subs     {_FreeKeyLabelII,0,0}
  302. !name     {"FreeKeyLabelII","(label$,key$) ;MUI FreeKeyLabelII"}
  303.  
  304. !acommand {#long}
  305. !args     {#string,#string}
  306. !libs
  307. !subs     {_FreeKeyLLabel,0,0}
  308. !name     {"FreeKeyLLabel","(label$,key$) ;MUI FreeKeyLLabel"}
  309.  
  310. !acommand {#long}
  311. !args     {#string,#string}
  312. !libs
  313. !subs     {_FreeKeyLLabelI,0,0}
  314. !name     {"FreeKeyLLabelI","(label$,key$) ;MUI FreeKeyLLabelI"}
  315.  
  316. !acommand {#long}
  317. !args     {#string,#string}
  318. !libs
  319. !subs     {_FreeKeyLLabelII,0,0}
  320. !name     {"FreeKeyLLabelII","(label$,key$) ;MUI FreeKeyLLabelII"}
  321.  
  322. !acommand {#long}
  323. !args     {#string,#string}
  324. !libs
  325. !subs     {_FreeKeyCLabel,0,0}
  326. !name     {"FreeKeyCLabel","(label$,key$) ;MUI FreeKeyCLabel"}
  327.  
  328. !acommand {#long}
  329. !args     {#string,#string}
  330. !libs
  331. !subs     {_FreeKeyCLabelI,0,0}
  332. !name     {"FreeKeyCLabelI","(label$,key$) ;MUI FreeKeyCLabelI"}
  333.  
  334. !acommand {#long}
  335. !args     {#string,#string}
  336. !libs
  337. !subs     {_FreeKeyCLabelII,0,0}
  338. !name     {"FreeKeyCLabelII","(label$,key$) ;MUI FreeKeyCLabelII"}
  339.  
  340.  
  341. !astatement
  342. !args     {#long,#long,#long}
  343. !libs     {#intuitionlib,#la6}
  344. !subs     {_MUI_get,0,0}
  345. !name     {"MUI_get","obj,attr,store ;MUI get"}
  346.  
  347. !astatement
  348. !args     {#long,#long,#long}
  349. !libs     {#intuitionlib,#la6}
  350. !subs     {_set,0,0}
  351. !name     {"MUI_set","obj,attr,value ;MUI set"}
  352.  
  353. !astatement
  354. !args     {#long,#long,#long}
  355. !libs     {#intuitionlib,#la6}
  356. !subs     {_nnset,0,0}
  357. !name     {"nnset","obj,attr,value ;MUI nnset"}
  358.  
  359. !astatement
  360. !args     {#long,#long}
  361. !libs     {#intuitionlib,#la6}
  362. !subs     {_setmutex,0,0}
  363. !name     {"setmutex","obj,n ;MUI setmutex"}
  364.  
  365. !astatement
  366. !args     {#long,#long}
  367. !libs     {#intuitionlib,#la6}
  368. !subs     {_setcycle,0,0}
  369. !name     {"setcycle","obj,n ;MUI setcycle"}
  370.  
  371. !astatement
  372. !args     {#long,#string}
  373. !libs     {#intuitionlib,#la6}
  374. !subs     {_setstring,0,0}
  375. !name     {"setstring","obj,s ;MUI setstring"}
  376.  
  377. !astatement
  378. !args     {#long,#long}
  379. !libs     {#intuitionlib,#la6}
  380. !subs     {_setcheckmark,0,0}
  381. !name     {"setcheckmark","obj,b ;MUI setcheckmark"}
  382.  
  383. !astatement
  384. !args     {#long,#long}
  385. !libs     {#intuitionlib,#la6}
  386. !subs     {_setslider,0,0}
  387. !name     {"setslider","obj,l ;MUI setslider"}
  388.  
  389. !libfin
  390.  
  391. XINCLUDE "mui.bb2"
  392.  
  393. Macro NObject
  394.         MOVE.l  _MUIMasterBase(pc),a6
  395.         JSR     -30(a6)
  396.         MOVE.l  d0,d7
  397. End Macro
  398.  
  399. Macro MObject
  400.         MOVE.l  _MUIMasterBase(pc),a6
  401.         JSR     -120(a6)
  402. End Macro
  403.  
  404. ._MUI_NewObject:
  405.         MOVEM.l d1/d7/a0-a1/a6,-(a7)
  406.         MOVE.l  d0,-(a7)
  407.         LEA.l   args(pc),a1
  408.         MOVE.l  a1,d1
  409.         SUBQ.l  #1,d7
  410. Loop:   MOVE.l  -(a2),(a1)+
  411.         DBRA    d7,Loop
  412.         BSR     OpenMUI
  413.         MOVE.l  (a7)+,a0
  414.         MOVE.l  d1,a1
  415.         MOVEQ.l #0,d7
  416.         !NObject
  417.         BSR     CloseMUI
  418.         MOVE.l  d7,d0
  419.         MOVEM.l (a7)+,d1/d7/a0-a1/a6
  420.         RTS
  421.  
  422. ._MUI_MakeObject:
  423.         MOVEM.l a0-a1/a6/d1-d2/d7,-(a7)
  424.         MOVE.l  d0,d2
  425.         LEA.l   args(pc),a1
  426.         MOVE.l  a1,d1
  427.         SUBQ.l  #1,d7
  428. Loop1:  MOVE.l  -(a2),(a1)+
  429.         DBF     d7,Loop1
  430.         BSR     OpenMUI
  431.         MOVE.l  d2,d0
  432.         MOVE.l  d1,a0
  433.         !MObject
  434.         MOVE.l  d0,d7
  435.         BSR     CloseMUI
  436.         MOVE.l  d7,d0
  437. fin1:   MOVEM.l (a7)+,a0-a1/a6/d1-d2/d7
  438.         RTS
  439.  
  440. ._MUI_TRUE:
  441.         MOVEQ   #1,d0
  442.         RTS
  443.  
  444. ._MUIBase
  445.         BSR     OpenMUI
  446.         MOVE.l  #_MUIMasterBase,d7
  447.         BSR     CloseMUI
  448.         MOVE.l  d7,d0
  449.         RTS
  450.  
  451. ._HCenter:
  452.         MOVEM.l d7/a0-a1/a6,-(a7)
  453.         MOVE.l  d0,-(a7)
  454.         BSR     OpenMUI
  455.         LEA     args(pc),a1
  456.         MOVE.l  a1,d7
  457.         MOVE.l  #MUIA_Group_Horiz,(a1)+
  458.         MOVE.l  #1,(a1)+
  459.         MOVE.l  #MUIA_Group_Spacing,(a1)+
  460.         MOVE.l  #0,(a1)+
  461.         MOVE.l  #Child,(a1)+
  462.         MOVE.l  #MUIO_HSpace,d0
  463.         MOVE.l  #0,a0
  464.         !MObject
  465.         MOVE.l  d0,(a1)+
  466.         MOVE.l  #Child,(a1)+
  467.         MOVE.l  (a7)+,(a1)+
  468.         MOVE.l  #Child,(a1)+
  469.         MOVE.l  #MUIO_HSpace,d0
  470.         MOVE.l  #0,a0
  471.         !MObject
  472.         MOVE.l  d0,(a1)+
  473.         MOVE.l  #0,(a1)
  474.         LEA     MUIC_Group(pc),a0
  475.         MOVE.l  d7,a1
  476.         !NObject
  477.         BSR     CloseMUI
  478.         MOVE.l  d7,d0
  479.         MOVEM.l (a7)+,d7/a0-a1/a6
  480.         RTS
  481.  
  482. ._VCenter:
  483.         MOVEM.l d7/a0-a1/a6,-(a7)
  484.         MOVE.l  d0,-(a7)
  485.         BSR     OpenMUI
  486.         LEA     args(pc),a1
  487.         MOVE.l  a1,d7
  488.         MOVE.l  #MUIA_Group_Spacing,(a1)+
  489.         MOVE.l  #0,(a1)+
  490.         MOVE.l  #Child,(a1)+
  491.         MOVE.l  #MUIO_VSpace,d0
  492.         MOVE.l  #0,a0
  493.         !MObject
  494.         MOVE.l  d0,(a1)+
  495.         MOVE.l  #Child,(a1)+
  496.         MOVE.l  (a7)+,(a1)+
  497.         MOVE.l  #Child,(a1)+
  498.         MOVE.l  #MUIO_VSpace,d0
  499.         MOVE.l  #0,a0
  500.         !MObject
  501.         MOVE.l  d0,(a1)+
  502.         MOVE.l  #0,(a1)
  503.         LEA     MUIC_Group(pc),a0
  504.         MOVE.l  d7,a1
  505.         !NObject
  506.         BSR     CloseMUI
  507.         MOVE.l  d7,d0
  508.         MOVEM.l (a7)+,d7/a0-a1/a6
  509.         RTS
  510.  
  511. ._String:
  512.         MOVEM.l d7/a0-a1/a6,-(a7)
  513.         MOVE.l  d0,-(a7)
  514.         MOVE.l  d1,-(a7)
  515.         BSR     OpenMUI
  516.         LEA     args(pc),a1
  517.         MOVE.l  a1,d7
  518.         MOVE.l  #MUIA_Frame,(a1)+
  519.         MOVE.l  #MUIV_Frame_String,(a1)+
  520.         MOVE.l  #MUIA_String_MaxLen,(a1)+
  521.         MOVE.l  (a7)+,(a1)+
  522.         MOVE.l  #MUIA_String_Contents,(a1)+
  523.         MOVE.l  (a7)+,(a1)+
  524.         MOVE.l  #0,(a1)
  525.         LEA     MUIC_String(pc),a0
  526.         MOVE.l  d7,a1
  527.         !NObject
  528.         BSR     CloseMUI
  529.         MOVE.l  d7,d0
  530.         MOVEM.l (a7)+,d7/a0-a1/a6
  531.         RTS
  532.  
  533. ._KeyString:
  534.         MOVEM.l d7/a0-a1/a6,-(a7)
  535.         MOVE.l  d0,-(a7)
  536.         BSR     OpenMUI
  537.         LEA     args(pc),a1
  538.         MOVE.l  a1,d7
  539.         MOVE.l  #MUIA_Frame,(a1)+
  540.         MOVE.l  #MUIV_Frame_String,(a1)+
  541.         MOVE.l  #MUIA_ControlChar,(a1)+
  542.         MOVE.l  d2,(a1)+
  543.         MOVE.l  #MUIA_String_MaxLen,(a1)+
  544.         MOVE.l  d1,(a1)+
  545.         MOVE.l  #MUIA_String_Contents,(a1)+
  546.         MOVE.l  (a7)+,(a1)+
  547.         MOVE.l  #0,(a1)
  548.         LEA     MUIC_String(pc),a0
  549.         MOVE.l  d7,a1
  550.         !NObject
  551.         BSR     CloseMUI
  552.         MOVE.l  d7,d0
  553.         MOVEM.l (a7)+,d7/a0-a1/a6
  554.         RTS
  555.  
  556. ._CheckMark:
  557.         MOVEM.l d7/a0-a1/a6,-(a7)
  558.         MOVE.l  d0,-(a7)
  559.         BSR     OpenMUI
  560.         LEA     args(pc),a1
  561.         MOVE.l  a1,d7
  562.         MOVE.l  #MUIA_Frame,(a1)+
  563.         MOVE.l  #MUIV_Frame_ImageButton,(a1)+
  564.         MOVE.l  #MUIA_InputMode,(a1)+
  565.         MOVE.l  #MUIV_InputMode_Toggle,(a1)+
  566.         MOVE.l  #MUIA_Image_Spec,(a1)+
  567.         MOVE.l  #MUII_CheckMark,(a1)+
  568.         MOVE.l  #MUIA_Image_FreeVert,(a1)+
  569.         MOVE.l  #1,(a1)+
  570.         MOVE.l  #MUIA_Selected,(a1)+
  571.         MOVE.l  (a7)+,(a1)+
  572.         MOVE.l  #MUIA_Background,(a1)+
  573.         MOVE.l  #MUII_ButtonBack,(a1)+
  574.         MOVE.l  #MUIA_ShowSelState,(a1)+
  575.         MOVE.l  #0,(a1)+
  576.         MOVE.l  #0,(a1)
  577.         LEA     MUIC_Image(pc),a0
  578.         MOVE.l  d7,a1
  579.         !NObject
  580.         BSR     CloseMUI
  581.         MOVE.l  d7,d0
  582.         MOVEM.l (a7)+,d7/a0-a1/a6
  583.         RTS
  584.  
  585. ._KeyCheckMark:
  586.         MOVEM.l d7/a0-a1/a6,-(a7)
  587.         MOVE.l  d0,-(a7)
  588.         BSR     OpenMUI
  589.         LEA     args(pc),a1
  590.         MOVE.l  a1,d7
  591.         MOVE.l  #MUIA_Frame,(a1)+
  592.         MOVE.l  #MUIV_Frame_ImageButton,(a1)+
  593.         MOVE.l  #MUIA_InputMode,(a1)+
  594.         MOVE.l  #MUIV_InputMode_Toggle,(a1)+
  595.         MOVE.l  #MUIA_Image_Spec,(a1)+
  596.         MOVE.l  #MUII_CheckMark,(a1)+
  597.         MOVE.l  #MUIA_Image_FreeVert,(a1)+
  598.         MOVE.l  #1,(a1)+
  599.         MOVE.l  #MUIA_Selected,(a1)+
  600.         MOVE.l  (a7)+,(a1)+
  601.         MOVE.l  #MUIA_Background,(a1)+
  602.         MOVE.l  #MUII_ButtonBack,(a1)+
  603.         MOVE.l  #MUIA_ShowSelState,(a1)+
  604.         MOVE.l  #0,(a1)+
  605.         MOVE.l  #MUIA_ControlChar,(a1)+
  606.         MOVE.l  d1,(a1)+
  607.         MOVE.l  #0,(a1)
  608.         LEA     MUIC_Image(pc),a0
  609.         MOVE.l  d7,a1
  610.         !NObject
  611.         BSR     CloseMUI
  612.         MOVE.l  d7,d0
  613.         MOVEM.l (a7)+,d7/a0-a1/a6
  614.         RTS
  615.  
  616. ._SimpleButton:
  617.         MOVEM.l d7/a0-a1/a6,-(a7)
  618.         MOVE.l  d0,-(a7)
  619.         BSR     OpenMUI
  620.         MOVE.l  #MUIO_Button,d0
  621.         LEA     str(pc),a1
  622.         MOVE.l  (a7)+,(a1)
  623.         MOVE.l  a1,a0
  624.         !MObject
  625.         MOVE.l  d0,d7
  626.         BSR     CloseMUI
  627.         MOVE.l  d7,d0
  628.         MOVEM.l (a7)+,d7/a0-a1/a6
  629.         RTS
  630.  
  631. ._KeyButton:
  632.         MOVEM.l d7/a0-a1/a6,-(a7)
  633.         MOVE.l  d0,-(a7)
  634.         BSR     OpenMUI
  635.         LEA     args(pc),a1
  636.         MOVE.l  a1,d7
  637.         MOVE.l  #MUIA_Frame,(a1)+
  638.         MOVE.l  #MUIV_Frame_Button,(a1)+
  639.         MOVE.l  #MUIA_Font,(a1)+
  640.         MOVE.l  #MUIV_Font_Button,(a1)+
  641.         MOVE.l  #MUIA_Text_Contents,(a1)+
  642.         MOVE.l  (a7)+,(a1)+
  643.         MOVE.l  #MUIA_Text_PreParse,(a1)+
  644.         LEA     l_33c(pc),a0
  645.         MOVE.l  a0,(a1)+
  646.         MOVE.l  #MUIA_Text_HiChar,(a1)+
  647.         MOVE.l  d1,(a1)+
  648.         MOVE.l  #MUIA_ControlChar,(a1)+
  649.         MOVE.l  d1,(a1)+
  650.         MOVE.l  #MUIA_InputMode,(a1)+
  651.         MOVE.l  #MUIV_InputMode_RelVerify,(a1)+
  652.         MOVE.l  #MUIA_Background,(a1)+
  653.         MOVE.l  #MUII_ButtonBack,(a1)+
  654.         MOVE.l  #0,(a1)
  655.         LEA     MUIC_Text(pc),a0
  656.         MOVE.l  d7,a1
  657.         !NObject
  658.         BSR     CloseMUI
  659.         MOVE.l  d7,d0
  660.         MOVEM.l (a7)+,d7/a0-a1/a6
  661.         RTS
  662.  
  663. ._Cycle:
  664.         MOVEM.l d7/a0-a1/a6,-(a7)
  665.         MOVE.l  d0,-(a7)
  666.         BSR     OpenMUI
  667.         LEA     args(pc),a1
  668.         MOVE.l  a1,d7
  669.         MOVE.l  #MUIA_Font,(a1)+
  670.         MOVE.l  #MUIV_Font_Button,(a1)+
  671.         MOVE.l  #MUIA_Cycle_Entries,(a1)+
  672.         MOVE.l  (a7)+,(a1)+
  673.         MOVE.l  #0,(a1)
  674.         LEA     MUIC_Cycle(pc),a0
  675.         MOVE.l  d7,a1
  676.         !NObject
  677.         BSR     CloseMUI
  678.         MOVE.l  d7,d0
  679.         MOVEM.l (a7)+,d7/a0-a1/a6
  680.         RTS
  681.  
  682. ._KeyCycle:
  683.         MOVEM.l d7/a0-a1/a6,-(a7)
  684.         MOVE.l  d0,-(a7)
  685.         BSR     OpenMUI
  686.         LEA     args(pc),a1
  687.         MOVE.l  a1,d7
  688.         MOVE.l  #MUIA_Font,(a1)+
  689.         MOVE.l  #MUIV_Font_Button,(a1)+
  690.         MOVE.l  #MUIA_Cycle_Entries,(a1)+
  691.         MOVE.l  (a7)+,(a1)+
  692.         MOVE.l  #MUIA_ControlChar,(a1)+
  693.         MOVE.l  d1,(a1)+
  694.         MOVE.l  #0,(a1)
  695.         LEA     MUIC_Cycle(pc),a0
  696.         MOVE.l  d7,a1
  697.         !NObject
  698.         BSR     CloseMUI
  699.         MOVE.l  d7,d0
  700.         MOVEM.l (a7)+,d7/a0-a1/a6
  701.         RTS
  702.  
  703. ._Radio:
  704.         MOVEM.l d7/a0-a1/a6,-(a7)
  705.         MOVE.l  d0,-(a7)
  706.         BSR     OpenMUI
  707.         LEA     args(pc),a1
  708.         MOVE.l  a1,d7
  709.         MOVE.l  #MUIA_Frame,(a1)+
  710.         MOVE.l  #MUIV_Frame_Group,(a1)+
  711.         MOVE.l  #MUIA_FrameTitle,(a1)+
  712.         MOVE.l  (a7)+,(a1)+
  713.         MOVE.l  #MUIA_Background,(a1)+
  714.         MOVE.l  #MUII_GroupBack,(a1)+
  715.         MOVE.l  #MUIA_Radio_Entries,(a1)+
  716.         MOVE.l  d1,(a1)+
  717.         MOVE.l  #0,(a1)
  718.         LEA     MUIC_Radio(pc),a0
  719.         MOVE.l  d7,a1
  720.         !NObject
  721.         BSR     CloseMUI
  722.         MOVE.l  d7,d0
  723.         MOVEM.l (a7)+,d7/a0-a1/a6
  724.         RTS
  725.  
  726. ._KeyRadio:
  727.         MOVEM.l d7/a0-a1/a6,-(a7)
  728.         MOVE.l  d0,-(a7)
  729.         BSR     OpenMUI
  730.         LEA     args(pc),a1
  731.         MOVE.l  a1,d7
  732.         MOVE.l  #MUIA_Frame,(a1)+
  733.         MOVE.l  #MUIV_Frame_Group,(a1)+
  734.         MOVE.l  #MUIA_FrameTitle,(a1)+
  735.         MOVE.l  (a7)+,(a1)+
  736.         MOVE.l  #MUIA_Background,(a1)+
  737.         MOVE.l  #MUII_GroupBack,(a1)+
  738.         MOVE.l  #MUIA_Radio_Entries,(a1)+
  739.         MOVE.l  d1,(a1)+
  740.         MOVE.l  #MUIA_ControlChar,(a1)+
  741.         MOVE.l  d2,(a1)+
  742.         MOVE.l  #0,(a1)
  743.         LEA     MUIC_Radio(pc),a0
  744.         MOVE.l  d7,a1
  745.         !NObject
  746.         BSR     CloseMUI
  747.         MOVE.l  d7,d0
  748.         MOVEM.l (a7)+,d7/a0-a1/a6
  749.         RTS
  750.  
  751. ._Slider:
  752.         MOVEM.l d7/a0-a1/a6,-(a7)
  753.         MOVE.l  d0,-(a7)
  754.         BSR     OpenMUI
  755.         LEA     args(pc),a1
  756.         MOVE.l  a1,d7
  757.         MOVE.l  #MUIA_Numeric_Min,(a1)+
  758.         MOVE.l  (a7)+,(a1)+
  759.         MOVE.l  #MUIA_Numeric_Max,(a1)+
  760.         MOVE.l  d1,(a1)+
  761.         MOVE.l  #MUIA_Numeric_Value,(a1)+
  762.         MOVE.l  d2,(a1)+
  763.         MOVE.l  #0,(a1)
  764.         LEA     MUIC_Slider(pc),a0
  765.         MOVE.l  d7,a1
  766.         !NObject
  767.         BSR     CloseMUI
  768.         MOVE.l  d7,d0
  769.         MOVEM.l (a7)+,d7/a0-a1/a6
  770.         RTS
  771.  
  772. ._KeySlider:
  773.         MOVEM.l d7/a0-a1/a6,-(a7)
  774.         MOVE.l  d0,-(a7)
  775.         BSR     OpenMUI
  776.         LEA     args(pc),a1
  777.         MOVE.l  a1,d7
  778.         MOVE.l  #MUIA_Numeric_Min,(a1)+
  779.         MOVE.l  (a7)+,(a1)+
  780.         MOVE.l  #MUIA_Numeric_Max,(a1)+
  781.         MOVE.l  d1,(a1)+
  782.         MOVE.l  #MUIA_Numeric_Value,(a1)+
  783.         MOVE.l  d2,(a1)+
  784.         MOVE.l  #MUIA_ControlChar,(a1)+
  785.         MOVE.l  d3,(a1)+
  786.         MOVE.l  #0,(a1)
  787.         LEA     MUIC_Slider(pc),a0
  788.         MOVE.l  d7,a1
  789.         !NObject
  790.         BSR     CloseMUI
  791.         MOVE.l  d7,d0
  792.         MOVEM.l (a7)+,d7/a0-a1/a6
  793.         RTS
  794.  
  795. ._PopButton:
  796.         MOVEM.l d7/a0-a1/a6,-(a7)
  797.         MOVE.l  d0,-(a7)
  798.         BSR     OpenMUI
  799.         MOVE.l  #MUIO_PopButton,d0
  800.         MOVE.l  (a7)+,a0
  801.         !MObject
  802.         MOVE.l  d0,d7
  803.         BSR     CloseMUI
  804.         MOVE.l  d7,d0
  805.         MOVEM.l (a7)+,d7/a0-a1/a6
  806.         RTS
  807.  
  808. ._Label:
  809.         MOVEM.l d7/a0-a1/a6,-(a7)
  810.         MOVE.l  d0,-(a7)
  811.         BSR     OpenMUI
  812.         LEA     args(pc),a0
  813.         MOVE.l  a0,d7
  814.         MOVE.l  #MUIO_Label,d0
  815.         LEA     str(pc),a1
  816.         MOVE.l  (a7)+,(a1)
  817.         MOVE.l  a1,(a0)+
  818.         MOVE.l  #0,(a0)
  819.         MOVE.l  d7,a0
  820.         !MObject
  821.         BSR     CloseMUI
  822.         MOVE.l  d7,d0
  823.         MOVEM.l (a7)+,d7/a0-a1/a6
  824.         RTS
  825.  
  826. ._LabelI:
  827.         MOVEM.l d7/a0-a1/a6,-(a7)
  828.         MOVE.l  d0,-(a7)
  829.         BSR     OpenMUI
  830.         LEA     args(pc),a0
  831.         MOVE.l  a0,d7
  832.         MOVE.l  #MUIO_Label,d0
  833.         LEA     str(pc),a1
  834.         MOVE.l  (a7)+,(a1)
  835.         MOVE.l  a1,(a0)+
  836.         MOVE.l  #MUIO_Label_SingleFrame,(a0)
  837.         MOVE.l  d7,a0
  838.         !MObject
  839.         BSR     CloseMUI
  840.         MOVE.l  d7,d0
  841.         MOVEM.l (a7)+,d7/a0-a1/a6
  842.         RTS
  843.  
  844. ._LabelII:
  845.         MOVEM.l d7/a0-a1/a6,-(a7)
  846.         MOVE.l  d0,-(a7)
  847.         BSR     OpenMUI
  848.         LEA     args(pc),a0
  849.         MOVE.l  a0,d7
  850.         MOVE.l  #MUIO_Label,d0
  851.         LEA     str(pc),a1
  852.         MOVE.l  (a7)+,(a1)
  853.         MOVE.l  a1,(a0)+
  854.         MOVE.l  #MUIO_Label_DoubleFrame,(a0)
  855.         MOVE.l  d7,a0
  856.         !MObject
  857.         BSR     CloseMUI
  858.         MOVE.l  d7,d0
  859.         MOVEM.l (a7)+,d7/a0-a1/a6
  860.         RTS
  861.  
  862. ._LLabel:
  863.         MOVEM.l d7/a0-a1/a6,-(a7)
  864.         MOVE.l  d0,-(a7)
  865.         BSR     OpenMUI
  866.         LEA     args(pc),a0
  867.         MOVE.l  a0,d7
  868.         MOVE.l  #MUIO_Label,d0
  869.         LEA     str(pc),a1
  870.         MOVE.l  (a7)+,(a1)
  871.         MOVE.l  a1,(a0)+
  872.         MOVE.l  #MUIO_Label_LeftAligned,(a0)
  873.         MOVE.l  d7,a0
  874.         !MObject
  875.         BSR     CloseMUI
  876.         MOVE.l  d7,d0
  877.         MOVEM.l (a7)+,d7/a0-a1/a6
  878.         RTS
  879.  
  880. ._LLabelI:
  881.         MOVEM.l d7/a0-a1/a6,-(a7)
  882.         MOVE.l  d0,-(a7)
  883.         BSR     OpenMUI
  884.         LEA     args(pc),a0
  885.         MOVE.l  a0,d7
  886.         MOVE.l  #MUIO_Label,d0
  887.         LEA     str(pc),a1
  888.         MOVE.l  (a7)+,(a1)
  889.         MOVE.l  a1,(a0)+
  890.         MOVE.l  #MUIO_Label_LeftAligned|#MUIO_Label_SingleFrame,(a0)
  891.         MOVE.l  d7,a0
  892.         !MObject
  893.         BSR     CloseMUI
  894.         MOVE.l  d7,d0
  895.         MOVEM.l (a7)+,d7/a0-a1/a6
  896.         RTS
  897.  
  898. ._LLabelII:
  899.         MOVEM.l d7/a0-a1/a6,-(a7)
  900.         MOVE.l  d0,-(a7)
  901.         BSR     OpenMUI
  902.         LEA     args(pc),a0
  903.         MOVE.l  a0,d7
  904.         MOVE.l  #MUIO_Label,d0
  905.         LEA     str(pc),a1
  906.         MOVE.l  (a7)+,(a1)
  907.         MOVE.l  a1,(a0)+
  908.         MOVE.l  #MUIO_Label_LeftAligned|#MUIO_Label_DoubleFrame,(a0)
  909.         MOVE.l  d7,a0
  910.         !MObject
  911.         BSR     CloseMUI
  912.         MOVE.l  d7,d0
  913.         MOVEM.l (a7)+,d7/a0-a1/a6
  914.         RTS
  915.  
  916. ._CLabel:
  917.         MOVEM.l d7/a0-a1/a6,-(a7)
  918.         MOVE.l  d0,-(a7)
  919.         BSR     OpenMUI
  920.         LEA     args(pc),a0
  921.         MOVE.l  a0,d7
  922.         MOVE.l  #MUIO_Label,d0
  923.         LEA     str(pc),a1
  924.         MOVE.l  (a7)+,(a1)
  925.         MOVE.l  a1,(a0)+
  926.         MOVE.l  #MUIO_Label_Centered,(a0)
  927.         MOVE.l  d7,a0
  928.         !MObject
  929.         BSR     CloseMUI
  930.         MOVE.l  d7,d0
  931.         MOVEM.l (a7)+,d7/a0-a1/a6
  932.         RTS
  933.  
  934. ._CLabelI:
  935.         MOVEM.l d7/a0-a1/a6,-(a7)
  936.         MOVE.l  d0,-(a7)
  937.         BSR     OpenMUI
  938.         LEA     args(pc),a0
  939.         MOVE.l  a0,d7
  940.         MOVE.l  #MUIO_Label,d0
  941.         LEA     str(pc),a1
  942.         MOVE.l  (a7)+,(a1)
  943.         MOVE.l  a1,(a0)+
  944.         MOVE.l  #MUIO_Label_Centered|#MUIO_Label_SingleFrame,(a0)
  945.         MOVE.l  d7,a0
  946.         !MObject
  947.         BSR     CloseMUI
  948.         MOVE.l  d7,d0
  949.         MOVEM.l (a7)+,d7/a0-a1/a6
  950.         RTS
  951.  
  952. ._CLabelII:
  953.         MOVEM.l d7/a0-a1/a6,-(a7)
  954.         MOVE.l  d0,-(a7)
  955.         BSR     OpenMUI
  956.         LEA     args(pc),a0
  957.         MOVE.l  a0,d7
  958.         MOVE.l  #MUIO_Label,d0
  959.         LEA     str(pc),a1
  960.         MOVE.l  (a7)+,(a1)
  961.         MOVE.l  a1,(a0)+
  962.         MOVE.l  #MUIO_Label_Centered|#MUIO_Label_DoubleFrame,(a0)
  963.         MOVE.l  d7,a0
  964.         !MObject
  965.         BSR     CloseMUI
  966.         MOVE.l  d7,d0
  967.         MOVEM.l (a7)+,d7/a0-a1/a6
  968.         RTS
  969.  
  970. ._FreeLabel:
  971.         MOVEM.l d7/a0-a1/a6,-(a7)
  972.         MOVE.l  d0,-(a7)
  973.         BSR     OpenMUI
  974.         LEA     args(pc),a0
  975.         MOVE.l  a0,d7
  976.         MOVE.l  #MUIO_Label,d0
  977.         LEA     str(pc),a1
  978.         MOVE.l  (a7)+,(a1)
  979.         MOVE.l  a1,(a0)+
  980.         MOVE.l  #MUIO_Label_FreeVert,(a0)
  981.         MOVE.l  d7,a0
  982.         !MObject
  983.         BSR     CloseMUI
  984.         MOVE.l  d7,d0
  985.         MOVEM.l (a7)+,d7/a0-a1/a6
  986.         RTS
  987.  
  988. ._FreeLabelI:
  989.         MOVEM.l d7/a0-a1/a6,-(a7)
  990.         MOVE.l  d0,-(a7)
  991.         BSR     OpenMUI
  992.         LEA     args(pc),a0
  993.         MOVE.l  a0,d7
  994.         MOVE.l  #MUIO_Label,d0
  995.         LEA     str(pc),a1
  996.         MOVE.l  (a7)+,(a1)
  997.         MOVE.l  a1,(a0)+
  998.         MOVE.l  #MUIO_Label_FreeVert|#MUIO_Label_SingleFrame,(a0)
  999.         MOVE.l  d7,a0
  1000.         !MObject
  1001.         BSR     CloseMUI
  1002.         MOVE.l  d7,d0
  1003.         MOVEM.l (a7)+,d7/a0-a1/a6
  1004.         RTS
  1005.  
  1006. ._FreeLabelII:
  1007.         MOVEM.l d7/a0-a1/a6,-(a7)
  1008.         MOVE.l  d0,-(a7)
  1009.         BSR     OpenMUI
  1010.         LEA     args(pc),a0
  1011.         MOVE.l  a0,d7
  1012.         MOVE.l  #MUIO_Label,d0
  1013.         LEA     str(pc),a1
  1014.         MOVE.l  (a7)+,(a1)
  1015.         MOVE.l  a1,(a0)+
  1016.         MOVE.l  #MUIO_Label_FreeVert|#MUIO_Label_DoubleFrame,(a0)
  1017.         MOVE.l  d7,a0
  1018.         !MObject
  1019.         BSR     CloseMUI
  1020.         MOVE.l  d7,d0
  1021.         MOVEM.l (a7)+,d7/a0-a1/a6
  1022.         RTS
  1023.  
  1024. ._FreeLLabel:
  1025.         MOVEM.l d7/a0-a1/a6,-(a7)
  1026.         MOVE.l  d0,-(a7)
  1027.         BSR     OpenMUI
  1028.         LEA     args(pc),a0
  1029.         MOVE.l  a0,d7
  1030.         MOVE.l  #MUIO_Label,d0
  1031.         LEA     str(pc),a1
  1032.         MOVE.l  (a7)+,(a1)
  1033.         MOVE.l  a1,(a0)+
  1034.         MOVE.l  #MUIO_Label_FreeVert|#MUIO_Label_LeftAligned,(a0)
  1035.         MOVE.l  d7,a0
  1036.         !MObject
  1037.         BSR     CloseMUI
  1038.         MOVE.l  d7,d0
  1039.         MOVEM.l (a7)+,d7/a0-a1/a6
  1040.         RTS
  1041.  
  1042. ._FreeLLabelI:
  1043.         MOVEM.l d7/a0-a1/a6,-(a7)
  1044.         MOVE.l  d0,-(a7)
  1045.         BSR     OpenMUI
  1046.         LEA     args(pc),a0
  1047.         MOVE.l  a0,d7
  1048.         MOVE.l  #MUIO_Label,d0
  1049.         LEA     str(pc),a1
  1050.         MOVE.l  (a7)+,(a1)
  1051.         MOVE.l  a1,(a0)+
  1052.         MOVE.l  #MUIO_Label_FreeVert|#MUIO_Label_LeftAligned|#MUIO_Label_SingleFrame,(a0)
  1053.         MOVE.l  d7,a0
  1054.         !MObject
  1055.         BSR     CloseMUI
  1056.         MOVE.l  d7,d0
  1057.         MOVEM.l (a7)+,d7/a0-a1/a6
  1058.         RTS
  1059.  
  1060. ._FreeLLabelII:
  1061.         MOVEM.l d7/a0-a1/a6,-(a7)
  1062.         MOVE.l  d0,-(a7)
  1063.         BSR     OpenMUI
  1064.         LEA     args(pc),a0
  1065.         MOVE.l  a0,d7
  1066.         MOVE.l  #MUIO_Label,d0
  1067.         LEA     str(pc),a1
  1068.         MOVE.l  (a7)+,(a1)
  1069.         MOVE.l  a1,(a0)+
  1070.         MOVE.l  #MUIO_Label_FreeVert|#MUIO_Label_LeftAligned|#MUIO_Label_DoubleFrame,(a0)
  1071.         MOVE.l  d7,a0
  1072.         !MObject
  1073.         BSR     CloseMUI
  1074.         MOVE.l  d7,d0
  1075.         MOVEM.l (a7)+,d7/a0-a1/a6
  1076.         RTS
  1077.  
  1078. ._FreeCLabel:
  1079.         MOVEM.l d7/a0-a1/a6,-(a7)
  1080.         MOVE.l  d0,-(a7)
  1081.         BSR     OpenMUI
  1082.         LEA     args(pc),a0
  1083.         MOVE.l  a0,d7
  1084.         MOVE.l  #MUIO_Label,d0
  1085.         LEA     str(pc),a1
  1086.         MOVE.l  (a7)+,(a1)
  1087.         MOVE.l  a1,(a0)+
  1088.         MOVE.l  #MUIO_Label_FreeVert|#MUIO_Label_Centered,(a0)
  1089.         MOVE.l  d7,a0
  1090.         !MObject
  1091.         BSR     CloseMUI
  1092.         MOVE.l  d7,d0
  1093.         MOVEM.l (a7)+,d7/a0-a1/a6
  1094.         RTS
  1095.  
  1096. ._FreeCLabelI:
  1097.         MOVEM.l d7/a0-a1/a6,-(a7)
  1098.         MOVE.l  d0,-(a7)
  1099.         BSR     OpenMUI
  1100.         LEA     args(pc),a0
  1101.         MOVE.l  a0,d7
  1102.         MOVE.l  #MUIO_Label,d0
  1103.         LEA     str(pc),a1
  1104.         MOVE.l  (a7)+,(a1)
  1105.         MOVE.l  a1,(a0)+
  1106.         MOVE.l  #MUIO_Label_FreeVert|#MUIO_Label_Centered|#MUIO_Label_SingleFrame,(a0)
  1107.         MOVE.l  d7,a0
  1108.         !MObject
  1109.         BSR     CloseMUI
  1110.         MOVE.l  d7,d0
  1111.         MOVEM.l (a7)+,d7/a0-a1/a6
  1112.         RTS
  1113.  
  1114. ._FreeCLabelII:
  1115.         MOVEM.l d7/a0-a1/a6,-(a7)
  1116.         MOVE.l  d0,-(a7)
  1117.         BSR     OpenMUI
  1118.         LEA     args(pc),a0
  1119.         MOVE.l  a0,d7
  1120.         MOVE.l  #MUIO_Label,d0
  1121.         LEA     str(pc),a1
  1122.         MOVE.l  (a7)+,(a1)
  1123.         MOVE.l  a1,(a0)+
  1124.         MOVE.l  #MUIO_Label_FreeVert|#MUIO_Label_Centered|#MUIO_Label_DoubleFrame,(a0)
  1125.         MOVE.l  d7,a0
  1126.         !MObject
  1127.         BSR     CloseMUI
  1128.         MOVE.l  d7,d0
  1129.         MOVEM.l (a7)+,d7/a0-a1/a6
  1130.         RTS
  1131.  
  1132. ._KeyLabel:
  1133.         MOVEM.l d7/a0-a1/a6,-(a7)
  1134.         MOVE.l  d0,-(a7)
  1135.         BSR     OpenMUI
  1136.         LEA     args(pc),a0
  1137.         MOVE.l  a0,d7
  1138.         MOVE.l  #MUIO_Label,d0
  1139.         LEA     str(pc),a1
  1140.         MOVE.l  (a7)+,(a1)
  1141.         MOVE.l  a1,(a0)+
  1142.         MOVE.l  d1,(a0)
  1143.         MOVE.l  d7,a0
  1144.         !MObject
  1145.         BSR     CloseMUI
  1146.         MOVE.l  d7,d0
  1147.         MOVEM.l (a7)+,d7/a0-a1/a6
  1148.         RTS
  1149.  
  1150. ._KeyLabelI:
  1151.         MOVEM.l d7/a0-a1/a6,-(a7)
  1152.         MOVE.l  d0,-(a7)
  1153.         BSR     OpenMUI
  1154.         LEA     args(pc),a0
  1155.         MOVE.l  a0,d7
  1156.         MOVE.l  #MUIO_Label,d0
  1157.         LEA     str(pc),a1
  1158.         MOVE.l  (a7)+,(a1)
  1159.         MOVE.l  a1,(a0)+
  1160.         OR.l    #MUIO_Label_SingleFrame,d1
  1161.         MOVE.l  d1,(a0)
  1162.         MOVE.l  d7,a0
  1163.         !MObject
  1164.         BSR     CloseMUI
  1165.         MOVE.l  d7,d0
  1166.         MOVEM.l (a7)+,d7/a0-a1/a6
  1167.         RTS
  1168.  
  1169. ._KeyLabelII:
  1170.         MOVEM.l d7/a0-a1/a6,-(a7)
  1171.         MOVE.l  d0,-(a7)
  1172.         BSR     OpenMUI
  1173.         LEA     args(pc),a0
  1174.         MOVE.l  a0,d7
  1175.         MOVE.l  #MUIO_Label,d0
  1176.         LEA     str(pc),a1
  1177.         MOVE.l  (a7)+,(a1)
  1178.         MOVE.l  a1,(a0)+
  1179.         OR.l    #MUIO_Label_DoubleFrame,d1
  1180.         MOVE.l  d1,(a0)
  1181.         MOVE.l  d7,a0
  1182.         !MObject
  1183.         BSR     CloseMUI
  1184.         MOVE.l  d7,d0
  1185.         MOVEM.l (a7)+,d7/a0-a1/a6
  1186.         RTS
  1187.  
  1188. ._KeyLLabel:
  1189.         MOVEM.l d7/a0-a1/a6,-(a7)
  1190.         MOVE.l  d0,-(a7)
  1191.         BSR     OpenMUI
  1192.         LEA     args(pc),a0
  1193.         MOVE.l  a0,d7
  1194.         MOVE.l  #MUIO_Label,d0
  1195.         LEA     str(pc),a1
  1196.         MOVE.l  (a7)+,(a1)
  1197.         MOVE.l  a1,(a0)+
  1198.         OR.l    #MUIO_Label_LeftAligned,d1
  1199.         MOVE.l  d1,(a0)
  1200.         MOVE.l  d7,a0
  1201.         !MObject
  1202.         BSR     CloseMUI
  1203.         MOVE.l  d7,d0
  1204.         MOVEM.l (a7)+,d7/a0-a1/a6
  1205.         RTS
  1206.  
  1207. ._KeyLLabelI:
  1208.         MOVEM.l d7/a0-a1/a6,-(a7)
  1209.         MOVE.l  d0,-(a7)
  1210.         BSR     OpenMUI
  1211.         LEA     args(pc),a0
  1212.         MOVE.l  a0,d7
  1213.         MOVE.l  #MUIO_Label,d0
  1214.         LEA     str(pc),a1
  1215.         MOVE.l  (a7)+,(a1)
  1216.         MOVE.l  a1,(a0)+
  1217.         OR.l    #MUIO_Label_LeftAligned|#MUIO_Label_SingleFrame,d1
  1218.         MOVE.l  d1,(a0)
  1219.         MOVE.l  d7,a0
  1220.         !MObject
  1221.         BSR     CloseMUI
  1222.         MOVE.l  d7,d0
  1223.         MOVEM.l (a7)+,d7/a0-a1/a6
  1224.         RTS
  1225.  
  1226. ._KeyLLabelII:
  1227.         MOVEM.l d7/a0-a1/a6,-(a7)
  1228.         MOVE.l  d0,-(a7)
  1229.         BSR     OpenMUI
  1230.         LEA     args(pc),a0
  1231.         MOVE.l  a0,d7
  1232.         MOVE.l  #MUIO_Label,d0
  1233.         LEA     str(pc),a1
  1234.         MOVE.l  (a7)+,(a1)
  1235.         MOVE.l  a1,(a0)+
  1236.         OR.l    #MUIO_Label_LeftAligned|#MUIO_Label_DoubleFrame,d1
  1237.         MOVE.l  d1,(a0)
  1238.         MOVE.l  d7,a0
  1239.         !MObject
  1240.         BSR     CloseMUI
  1241.         MOVE.l  d7,d0
  1242.         MOVEM.l (a7)+,d7/a0-a1/a6
  1243.         RTS
  1244.  
  1245. ._KeyCLabel:
  1246.         MOVEM.l d7/a0-a1/a6,-(a7)
  1247.         MOVE.l  d0,-(a7)
  1248.         BSR     OpenMUI
  1249.         LEA     args(pc),a0
  1250.         MOVE.l  a0,d7
  1251.         MOVE.l  #MUIO_Label,d0
  1252.         LEA     str(pc),a1
  1253.         MOVE.l  (a7)+,(a1)
  1254.         MOVE.l  a1,(a0)+
  1255.         OR.l    #MUIO_Label_Centered,d1
  1256.         MOVE.l  d1,(a0)
  1257.         MOVE.l  d7,a0
  1258.         !MObject
  1259.         BSR     CloseMUI
  1260.         MOVE.l  d7,d0
  1261.         MOVEM.l (a7)+,d7/a0-a1/a6
  1262.         RTS
  1263.  
  1264. ._KeyCLabelI:
  1265.         MOVEM.l d7/a0-a1/a6,-(a7)
  1266.         MOVE.l  d0,-(a7)
  1267.         BSR     OpenMUI
  1268.         LEA     args(pc),a0
  1269.         MOVE.l  a0,d7
  1270.         MOVE.l  #MUIO_Label,d0
  1271.         LEA     str(pc),a1
  1272.         MOVE.l  (a7)+,(a1)
  1273.         MOVE.l  a1,(a0)+
  1274.         OR.l    #MUIO_Label_Centered|#MUIO_Label_SingleFrame,d1
  1275.         MOVE.l  d1,(a0)
  1276.         MOVE.l  d7,a0
  1277.         !MObject
  1278.         BSR     CloseMUI
  1279.         MOVE.l  d7,d0
  1280.         MOVEM.l (a7)+,d7/a0-a1/a6
  1281.         RTS
  1282.  
  1283. ._KeyCLabelII:
  1284.         MOVEM.l d7/a0-a1/a6,-(a7)
  1285.         MOVE.l  d0,-(a7)
  1286.         BSR     OpenMUI
  1287.         LEA     args(pc),a0
  1288.         MOVE.l  a0,d7
  1289.         MOVE.l  #MUIO_Label,d0
  1290.         LEA     str(pc),a1
  1291.         MOVE.l  (a7)+,(a1)
  1292.         MOVE.l  a1,(a0)+
  1293.         OR.l    #MUIO_Label_Centered|#MUIO_Label_DoubleFrame,d1
  1294.         MOVE.l  d1,(a0)
  1295.         MOVE.l  d7,a0
  1296.         !MObject
  1297.         BSR     CloseMUI
  1298.         MOVE.l  d7,d0
  1299.         MOVEM.l (a7)+,d7/a0-a1/a6
  1300.         RTS
  1301.  
  1302. ._FreeKeyLabel:
  1303.         MOVEM.l d7/a0-a1/a6,-(a7)
  1304.         MOVE.l  d0,-(a7)
  1305.         BSR     OpenMUI
  1306.         LEA     args(pc),a0
  1307.         MOVE.l  a0,d7
  1308.         MOVE.l  #MUIO_Label,d0
  1309.         LEA     str(pc),a1
  1310.         MOVE.l  (a7)+,(a1)
  1311.         MOVE.l  a1,(a0)+
  1312.         OR.l    #MUIO_Label_FreeVert,d1
  1313.         MOVE.l  d1,(a0)
  1314.         MOVE.l  d7,a0
  1315.         !MObject
  1316.         BSR     CloseMUI
  1317.         MOVE.l  d7,d0
  1318.         MOVEM.l (a7)+,d7/a0-a1/a6
  1319.         RTS
  1320.  
  1321. ._FreeKeyLabelI:
  1322.         MOVEM.l d7/a0-a1/a6,-(a7)
  1323.         MOVE.l  d0,-(a7)
  1324.         BSR     OpenMUI
  1325.         LEA     args(pc),a0
  1326.         MOVE.l  a0,d7
  1327.         MOVE.l  #MUIO_Label,d0
  1328.         LEA     str(pc),a1
  1329.         MOVE.l  (a7)+,(a1)
  1330.         MOVE.l  a1,(a0)+
  1331.         OR.l    #MUIO_Label_FreeVert|#MUIO_Label_SingleFrame,d1
  1332.         MOVE.l  d1,(a0)
  1333.         MOVE.l  d7,a0
  1334.         !MObject
  1335.         BSR     CloseMUI
  1336.         MOVE.l  d7,d0
  1337.         MOVEM.l (a7)+,d7/a0-a1/a6
  1338.         RTS
  1339.  
  1340. ._FreeKeyLabelII:
  1341.         MOVEM.l d7/a0-a1/a6,-(a7)
  1342.         MOVE.l  d0,-(a7)
  1343.         BSR     OpenMUI
  1344.         LEA     args(pc),a0
  1345.         MOVE.l  a0,d7
  1346.         MOVE.l  #MUIO_Label,d0
  1347.         LEA     str(pc),a1
  1348.         MOVE.l  (a7)+,(a1)
  1349.         MOVE.l  a1,(a0)+
  1350.         OR.l    #MUIO_Label_FreeVert|#MUIO_Label_DoubleFrame,d1
  1351.         MOVE.l  d1,(a0)
  1352.         MOVE.l  d7,a0
  1353.         !MObject
  1354.         BSR     CloseMUI
  1355.         MOVE.l  d7,d0
  1356.         MOVEM.l (a7)+,d7/a0-a1/a6
  1357.         RTS
  1358.  
  1359. ._FreeKeyLLabel:
  1360.         MOVEM.l d7/a0-a1/a6,-(a7)
  1361.         MOVE.l  d0,-(a7)
  1362.         BSR     OpenMUI
  1363.         LEA     args(pc),a0
  1364.         MOVE.l  a0,d7
  1365.         MOVE.l  #MUIO_Label,d0
  1366.         LEA     str(pc),a1
  1367.         MOVE.l  (a7)+,(a1)
  1368.         MOVE.l  a1,(a0)+
  1369.         OR.l    #MUIO_Label_FreeVert|#MUIO_Label_LeftAligned,d1
  1370.         MOVE.l  d1,(a0)
  1371.         MOVE.l  d7,a0
  1372.         !MObject
  1373.         BSR     CloseMUI
  1374.         MOVE.l  d7,d0
  1375.         MOVEM.l (a7)+,d7/a0-a1/a6
  1376.         RTS
  1377.  
  1378. ._FreeKeyLLabelI:
  1379.         MOVEM.l d7/a0-a1/a6,-(a7)
  1380.         MOVE.l  d0,-(a7)
  1381.         BSR     OpenMUI
  1382.         LEA     args(pc),a0
  1383.         MOVE.l  a0,d7
  1384.         MOVE.l  #MUIO_Label,d0
  1385.         LEA     str(pc),a1
  1386.         MOVE.l  (a7)+,(a1)
  1387.         MOVE.l  a1,(a0)+
  1388.         OR.l    #MUIO_Label_FreeVert|#MUIO_Label_LeftAligned|#MUIO_Label_SingleFrame,d1
  1389.         MOVE.l  d1,(a0)
  1390.         MOVE.l  d7,a0
  1391.         !MObject
  1392.         BSR     CloseMUI
  1393.         MOVE.l  d7,d0
  1394.         MOVEM.l (a7)+,d7/a0-a1/a6
  1395.         RTS
  1396.  
  1397. ._FreeKeyLLabelII:
  1398.         MOVEM.l d7/a0-a1/a6,-(a7)
  1399.         MOVE.l  d0,-(a7)
  1400.         BSR     OpenMUI
  1401.         LEA     args(pc),a0
  1402.         MOVE.l  a0,d7
  1403.         MOVE.l  #MUIO_Label,d0
  1404.         LEA     str(pc),a1
  1405.         MOVE.l  (a7)+,(a1)
  1406.         MOVE.l  a1,(a0)+
  1407.         OR.l    #MUIO_Label_FreeVert|#MUIO_Label_LeftAligned|#MUIO_Label_DoubleFrame,d1
  1408.         MOVE.l  d1,(a0)
  1409.         MOVE.l  d7,a0
  1410.         !MObject
  1411.         BSR     CloseMUI
  1412.         MOVE.l  d7,d0
  1413.         MOVEM.l (a7)+,d7/a0-a1/a6
  1414.         RTS
  1415.  
  1416. ._FreeKeyCLabel:
  1417.         MOVEM.l d7/a0-a1/a6,-(a7)
  1418.         MOVE.l  d0,-(a7)
  1419.         BSR     OpenMUI
  1420.         LEA     args(pc),a0
  1421.         MOVE.l  a0,d7
  1422.         MOVE.l  #MUIO_Label,d0
  1423.         LEA     str(pc),a1
  1424.         MOVE.l  (a7)+,(a1)
  1425.         MOVE.l  a1,(a0)+
  1426.         OR.l    #MUIO_Label_FreeVert|#MUIO_Label_Centered,d1
  1427.         MOVE.l  d1,(a0)
  1428.         MOVE.l  d7,a0
  1429.         !MObject
  1430.         BSR     CloseMUI
  1431.         MOVE.l  d7,d0
  1432.         MOVEM.l (a7)+,d7/a0-a1/a6
  1433.         RTS
  1434.  
  1435. ._FreeKeyCLabelI:
  1436.         MOVEM.l d7/a0-a1/a6,-(a7)
  1437.         MOVE.l  d0,-(a7)
  1438.         BSR     OpenMUI
  1439.         LEA     args(pc),a0
  1440.         MOVE.l  a0,d7
  1441.         MOVE.l  #MUIO_Label,d0
  1442.         LEA     str(pc),a1
  1443.         MOVE.l  (a7)+,(a1)
  1444.         MOVE.l  a1,(a0)+
  1445.         OR.l    #MUIO_Label_FreeVert|#MUIO_Label_Centered|#MUIO_Label_SingleFrame,d1
  1446.         MOVE.l  d1,(a0)
  1447.         MOVE.l  d7,a0
  1448.         !MObject
  1449.         BSR     CloseMUI
  1450.         MOVE.l  d7,d0
  1451.         MOVEM.l (a7)+,d7/a0-a1/a6
  1452.         RTS
  1453.  
  1454. ._FreeKeyCLabelII:
  1455.         MOVEM.l d7/a0-a1/a6,-(a7)
  1456.         MOVE.l  d0,-(a7)
  1457.         BSR     OpenMUI
  1458.         LEA     args(pc),a0
  1459.         MOVE.l  a0,d7
  1460.         MOVE.l  #MUIO_Label,d0
  1461.         LEA     str(pc),a1
  1462.         MOVE.l  (a7)+,(a1)
  1463.         MOVE.l  a1,(a0)+
  1464.         OR.l    #MUIO_Label_FreeVert|#MUIO_Label_Centered|#MUIO_Label_DoubleFrame,d1
  1465.         MOVE.l  d1,(a0)
  1466.         MOVE.l  d7,a0
  1467.         !MObject
  1468.         BSR     CloseMUI
  1469.         MOVE.l  d7,d0
  1470.         MOVEM.l (a7)+,d7/a0-a1/a6
  1471.         RTS
  1472.  
  1473. ._MUI_get:
  1474.         MOVEM.l d7/a0-a1/a6,-(a7)
  1475.         MOVE.l  d0,a0
  1476.         MOVE.l  d2,a1
  1477.         MOVE.l  d1,d0
  1478.         JSR     -654(a6)
  1479.         MOVEM.l (a7)+,d7/a0-a1/a6
  1480.         RTS
  1481.  
  1482. ._set:
  1483.         MOVEM.l d7/a0-a1/a6,-(a7)
  1484.         MOVE.l  d0,a0
  1485.         LEA     args(pc),a1
  1486.         MOVE.l  a1,d0
  1487.         MOVE.l  d1,(a1)+
  1488.         MOVE.l  d2,(a1)+
  1489.         MOVE.l  #0,(a1)
  1490.         MOVE.l  d0,a1
  1491.         JSR     -648(a6)
  1492.         MOVEM.l (a7)+,d7/a0-a1/a6
  1493.         RTS
  1494.  
  1495. ._nnset:
  1496.         MOVEM.l d7/a0-a1/a6,-(a7)
  1497.         MOVE.l  d0,a0
  1498.         LEA     args(pc),a1
  1499.         MOVE.l  a1,d0
  1500.         MOVE.l  #MUIA_NoNotify,(a1)+
  1501.         MOVE.l  #1,(a1)+
  1502.         MOVE.l  d1,(a1)+
  1503.         MOVE.l  d2,(a1)+
  1504.         MOVE.l  #0,(a1)
  1505.         MOVE.l  d0,a1
  1506.         JSR     -648(a6)
  1507.         MOVEM.l (a7)+,d7/a0-a1/a6
  1508.         RTS
  1509.  
  1510. ._setmutex:
  1511.         MOVE.l  d1,d2
  1512.         MOVE.l  #MUIA_Radio_Active,d1
  1513.         BRA     _set
  1514.  
  1515. ._setcycle:
  1516.         MOVE.l  d1,d2
  1517.         MOVE.l  #MUIA_Cycle_Active,d1
  1518.         BRA     _set
  1519.  
  1520. ._setstring:
  1521.         MOVE.l  d1,d2
  1522.         MOVE.l  #MUIA_String_Contents,d1
  1523.         BRA     _set
  1524.  
  1525. ._setcheckmark:
  1526.         MOVE.l  d1,d2
  1527.         MOVE.l  #MUIA_Selected,d1
  1528.         BRA     _set
  1529.  
  1530. ._setslider:
  1531.         MOVE.l  d1,d2
  1532.         MOVE.l  #MUIA_Numeric_Value,d1
  1533.         BRA     _set
  1534.  
  1535. OpenMUI:
  1536.         LEA     MUIName(pc),a1
  1537.         MOVEQ   #0,d0
  1538.         MOVE.l  4,a6
  1539.         JSR     -552(a6)
  1540.         MOVE.l  d0,_MUIMasterBase
  1541.         BEQ     MUIErr
  1542.         RTS
  1543.  
  1544. CloseMUI:
  1545.         MOVE.l  _MUIMasterBase(pc),a1
  1546.         MOVE.l  4,a6
  1547.         JSR     -414(a6)
  1548.         RTS
  1549.  
  1550. MUIErr:
  1551.         MOVE.l  #MUIErrMessage,d0
  1552.         TRAP    #0
  1553.  
  1554. MUIErrMessage:  Dc.b    "MUILIB ERROR !!!",0
  1555.         Even
  1556. MUIName:        Dc.b    "muimaster.library",0
  1557. _MUIMasterBase: Dc.l    0
  1558. args:           Dcb.l   25,0
  1559. str:            Dc.l    0
  1560.  
  1561. MUIC_Group:     Dc.b    "Group.mui",0
  1562.         Even
  1563. MUIC_String:    Dc.b    "String.mui",0
  1564.         Even
  1565. MUIC_Image:     Dc.b    "Image.mui",0
  1566.         Even
  1567. MUIC_Text:      Dc.b    "Text.mui",0
  1568.         Even
  1569. MUIC_Cycle:     Dc.b    "Cycle.mui",0
  1570.         Even
  1571. MUIC_Radio:     Dc.b    "Radio.mui",0
  1572.         Even
  1573. MUIC_Slider:    Dc.b    "Slider.mui",0
  1574.         Even
  1575.  
  1576.  
  1577. l_33c:          Dc.b    "\33c"
  1578.